Online social networks are becoming increasingly popular and may be very dynamic and engaging for users. Many activities may occur in such online social networks: people may interact with one another, express opinions, share files, and view or purchase products or services from all over the world. Online social networks may be modeled by sequences of bipartite networks indexed in time. Bipartite networks may use two types of nodes: users and objects. Object nodes may represent things such as products, files, articles, and author-conference datasets. Such bipartite networks are called user-object networks.
A traditional method for bipartite projection projects a bipartite graph into a unipartite graph of one type of node from the original bipartite graph. For user-object networks, the traditional method projects the user-object graph into either a user graph or an object graph. FIG. 1 depicts a schematic diagram of a traditional bipartite projection method. As seen in FIG. 1, a user-object bipartite network GUO has user nodes U={u1, u2, . . . u7} and object nodes O={o1, 2, . . . o5}. The user-object bipartite network GUO is projected into a user network GU and an object network GO. Accordingly, if two nodes in the user-object graph have common neighbors, projected networks GU and GO may be established through a user projection PU and an object projection PO, respectively.
The traditional bipartite projection method maps the unweighted user-object bipartite network GUO to either the user network GU or the object network GO. Accordingly, one has to collapse all the temporal bipartite networks into a single network in order to make use of such a method. This results in the loss of valuable temporal information and individual user history. Without the temporal information, it may be very difficult to find out whether an object is the substitute of another object.
Therefore, there is a need for a method of temporal bipartite projection that takes into account temporal information.